perm filename HOT[NYT,SYS] blob sn#115917 filedate 1974-08-16 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	HOT
C00007 ENDMK
C⊗;
;HOT

	TITLE	HOT line to the AP news


F←0
A←1
B←2
C←3
D←4
E←5

L←6
M←7
N←10

Q←11
R←12

W←13
X←14
Y←15
Z←16

P←17

LUZ2:	MOVEI	A,141+LLUZ
	SETZM	-1(A)
	SETZM	JOBSA↑
	HRLI	A,-1(A)
	BLT	A,@JOBREL↑
	OUTSTR	.+2
	EXIT
	ASCIZ /You must be a local user to use HOT.
/
LLUZ←←.-LUZ2
APNAME:	SIXBIT /[-NY-]/

JBRDBK:	SIXBIT /[-NY-]/
	-614,,140
	OBUF
OBUF:	BLOCK	3
BUF1:	BLOCK	203
BUF2:	BLOCK	203
BUF3:	BLOCK	203
	0

TTMS:	SIXBIT	/TTY/		;TTYMES HEADER
	0

LUZ:	ASCIZ/...
(text lost by HOT)...
/

LPDL←←10
PDL:	BLOCK	LPDL

HOT:	MOVE	P,[IOWD LPDL,PDL]
	SETO	A,
	CALLI	A,400066
	TLNN	A,1
	JRST	LUZ2
	MOVE	A,[-614,,140]
	MOVEM	A,JBRDBK+1	;IN CASE ERROR CODE OVERWROTE THIS WORD

REPEAT 0,<
	MOVE	A,APNAME	;GET NAME OF PHANTOM
	NAMEIN	A,
	JRST	[CAIN A,3
		SOJA A,NOREA1	;AMBIGUOUS JOB NAME
		MOVEI A,3	;NO SUCH NAME
		JRST NOREA1]
	MOVEM	A,JBRDBK
>;END REPEAT 0

	MOVEI	A,JBRDBK
	JOBRD	A,
	JRST	NOREAD
	HRRZ	C,OBUF		;POINTER TO CURRENT BUFFER
	MOVE	D,C
	OUTSTR	[ASCIZ /		...new New York Times news...

/]
	SETZM	BUF2
	SETZM	BUF3
	JRST	PUTBU1

MAIN:	MOVEI	A,JBRDBK
	JOBRD	A,
	JRST	NOREAD
	
	SETZM	BUF2
	SETZM	BUF3
	SETO	D,
	CALLI	D,400066
	TLNN	D,1
	JRST	LUZ2
	HRRZ	D,OBUF		;CURRENT BUFFER HE WAS FILLING
MAIN1:	CAIE	D,(C)
	JRST	PUTBUF
	MOVE	E,OBUF+1	;PTR TO LAST BYTE OF DATA IN BUFFER
	CAMN	E,B		;HAS MORE DATA APPEARED?
	JRST	DOWAIT		;NO
	PUSHJ	P,FINBUF	;TYPE OUT NEW STUFF IN BUFFER
	MOVEI	A,5		;WAIT 5 SECS IF GOT SOME TEXT THIS TIME
	SKIPA	B,E
DOWAIT:	MOVEI	A,=10		;WAIT 10 SECS IF GOT NO TEXT THIS TIME
	SLEEP	A,
	JRST	MAIN

PUTBUF:	PUSHJ	P,FINBUF
PUTBU1:	HRRZ	C,OBUF-140(C)	;ADVANCE BUFFER PTR TO NEXT BUFFER
	MOVEI	B,1(C)
	HRLI	B,010700	;set up byte pointer to beginning of buffer
	JRST	MAIN1

FINBUF:	ADDI	B,OBUF-140	;MAKE INTO BYTE POINTER IN OUR CORE IMAGE
	TLZ	B,7777		;CLEAR COUNT FIELD FOR TTYMES PTR
	MOVEM	B,TTMS+1	;STORE TTYMES PTR
	MOVEI	B,TTMS
	TTYMES	B,		;TYPE OUT REMAINDER OF BUFFER
	OUTSTR	LUZ
	POPJ	P,

NOREAD:	HRRZ	A,JBRDBK+1	;GET JOBRD ERROR CODE
NOREA1:	OUTSTR	[ASCIZ /

Sorry -- cannot run hot line now.
/]
	CAIGE	A,ERRMAX
	OUTSTR	@ERROR(A)
	EXIT

ERROR:	[0]			;NO SUCH ERROR CODE
	[0]			;NON EXISTENT JOB NUMBER (JOB NUMBER 0)
	[ASCIZ /Extraneous job with name of AP phantom./]
	[ASCIZ /Hot line is down./]	;NO SUCH JOB NAME
	[0]
	,@.-2
ERRMAX←←.-ERROR

	END	HOT